//
// Created by PC on 2023/10/16.
// 求最大公约数GCD
// 用欧几里得法 (辗转相除)
// OJ: https://oj.youdao.com/problem/537?from=problems
// 通过
// OJ: https://oj.hterobot.com/?#/question/108258/Submission?order=ID&offset=0&limit=20&teamid&name=%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0&range=public
// 通过7个测试点 后4个是因为大数 超出了long long


#include <iostream>

using namespace std;

long long GCD(long long a, long long b)
{
    if (a < b)
        swap(a, b);
    long long bb = b;
    while (a % bb != 0)
    {
        long long left = a % bb;
        a = bb;
        bb = left;
    }
    return bb;
}

int main()
{
    long long x = 1804, y = 328; // 164
//    x = 100, y = 25; // 25
//    x = 35, y = 15; // 5
    cin >> x >> y;
    cout << GCD(x, y);
//    cout <<"gcd="<< GCD(x, y);
    return 0;
}